package com.bing.common.constant;

/**
 * @Description 公共常量
 * @Author Bing
 * @Date 2024/10/10 14:20
 */
public interface CommonConstant {
    String BLANK_STR = "";
    // 默认错误码
    int DEFAULT_ERROR_CODE = 500;
    // 默认成功码
    int DEFAULT_SUCCESS_CODE = 200;
    /**
     * token请求头名称
     */
    String TOKEN_HEADER = "token";
    /**
     * user-agent请求头名称
     */
    String USER_AGENT_HEADER = "user-agent";
    /**
     * app-channel请求头名称
     */
    String APP_CHANNEL_HEADER = "app-channel";
    /**
     * sdk-version请求头名称
     */
    String SDK_VERSION_HEADER = "sdk-version";
    /**
     * 设备编号请求头
     */
    String DEVICE_NO_HEADER = "device-no";
    /**
     * 审核注册奖励
     */
    String AUDIT_REGISTER_PARAM_KEY = "app.audit.config";
    /**
     * true
     */
    String TRUE_STR = "true";
    /**
     * 自动识别json对象白名单配置（仅允许解析的包名，范围越小越安全）
     */
    String[] JSON_WHITELIST_STR = { "org.springframework", "com.ruoyi" ,"com.heakey","com.event"};
    /**
     * 登录有效时间（单位：秒）
     */
    int LOGIN_EFFECTIVETIME = 60*60*24*14;
    // 数字-1
    Integer NUM__ONE = -1;
    // 数字0
    Integer NUM_ZERO = 0;
    // 数字1
    Integer NUM_ONE = 1;
    // 数字2
    Integer NUM_TWO = 2;
    // 数字3
    Integer NUM_THREE = 3;
    // 数字4
    Integer NUM_FOUR = 4;
    // 数字5
    Integer NUM_FIVE = 5;
    // 数字6
    Integer NUM_SIX = 6;
    // 数字7
    Integer NUM_SEVEN = 7;
    // 数字8
    Integer NUM_EIGHT = 8;
    // 数字9
    Integer NUM_NINE = 9;
    // 数字10
    Integer NUM_TEN = 10;
    // DELETE VALUE
    Byte IS_DELETE = NUM_ONE.byteValue();
    // NOT DELETE VALUE
    Byte NOT_DELETE = NUM_ZERO.byteValue();
    // 锁超时间
    int LOCK_TIME_3S = 3;
    // 60s
    int LOCK_TIME_60S = 60;
    // 300s
    int LOCK_TIME_300S = 300;
    // mqtt主题
    String MQTT_TOPIC_CAR_START = "car/status/+";
    // 控制小车
    String MQTT_TOPIC_CAR_CONTROL = "car/control/%s";
    // 控制推流
    String MQTT_TOPIC_CAR_PUBLISH = "car/publish/%s";
    // 小车升级
    String MQTT_TOPIC_CAR_UPGRADE = "car/upgrade/%s";
    // 订单支付
    String ORDER_DESC = "订单支付";
    // 生产环境
    String ENV_PROD = "prod";
    // 文件大小限制
    long FRONT_FILE_SIZE_LIMIT = 1024 * 1024 * 10;
    // 文件大小限制
    long CAR_LOG_FILE_SIZE_LIMIT = 1024 * 1024 * 1;
    // 后台文件大小限制
    long ADMIN_FILE_SIZE_LIMIT_BYTE = 1024 * 1024 * 100;
    // 文件上传数量限制
    int MAX_UPLOAD_COUNT = 20;
    // 文件上传时间限制
    int MAX_UPLOAD_COUNT_TIME = 3600;
    // 驾驶须知
    String COST_TIP = "每%s电量可驾驶%s秒，每30秒计一次费用，不足30秒按照30秒计算，驾驶结束后退出操控界面进行结算，自动扣除余额，中途若出现故障，请在操控界面退出结算";
    // LiveStreamUrl
    String LIVE_STREAMURL = "%s/%s";
    // rtmp
    String LIVE_RTMP = "rtmp";
    // rtc
    String LIVE_RTC = "webrtc";
    // 协议
    String SCHEME_TAG ="://";
    // 换行符
    String LINE_END = "\r\n";
    // 半小时
    int FREE_CHANNEL_SECOND = 60 * 30;
    // 奖励配置
    String REWARD_CONFIG = "app.car.reward";
    // 邀请开关
    String INVITE_REWARD_ENABLE = "app.car.invite.enable";
    // 邀请奖励电量
    String INVITE_REWARD_ENERGY = "register.energy";
    // 过滤内部会员订单开关
    String SYS_ORDER_FILTER = "sys.order.filter";
    /**
     * 审核注册奖励
     */
    String AUDIT_CHANNEL_PARAM_KEY = "audit.channel.config";
    /**
     * 频道所需等级提示
     */
    String CHANNEL_NEED_LEVEL_TIP = "解锁该频道需要%s";
}